package algorithm.middle;

/**
 * 复数 可以用字符串表示，遵循 "实部+虚部i" 的形式，并满足下述条件：
 * <p>
 * 实部 是一个整数，取值范围是 [-100, 100]
 * 虚部 也是一个整数，取值范围是 [-100, 100]
 * i2 == -1
 * 给你两个字符串表示的复数 num1 和 num2 ，请你遵循复数表示形式，返回表示它们乘积的字符串。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/complex-number-multiplication
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class ComplexNumberMultiply537 {
    public String complexNumberMultiply(String num1, String num2) {
        int m1 = num1.indexOf("+");
        int a1 = Integer.parseInt(num1.substring(0, m1));
        int b1 = Integer.parseInt(num1.substring(m1 + 1, num1.length() - 1));
        int m2 = num2.indexOf("+");
        int a2 = Integer.parseInt(num2.substring(0, m2));
        int b2 = Integer.parseInt(num2.substring(m2 + 1, num2.length() - 1));
        int shi = a1 * a2 - (b1 * b2);
        int xu = a1 * b2 + a2 * b1;
        return shi + "+" + xu + "i";
    }
}
